package com.whfc.safety.service;

import com.whfc.common.exception.BizException;
import com.whfc.common.result.PageData;
import com.whfc.safety.dto.SafetyCheckDTO;
import com.whfc.safety.dto.SafetyRectifyDTO;
import com.whfc.safety.param.SafetyRectifyAddParam;
import com.whfc.safety.param.SafetyRectifyEditParam;

import java.util.Date;
import java.util.List;

/**
 * @author: hw
 * @date: 2021-10-18 17:28
 * @description: 安全整改单
 */
public interface SafetyRectifyService {

    /**
     * 整改通知单列表
     *
     * @param deptId
     * @param startTime
     * @param endTime
     * @param pageNum
     * @param pageSize
     * @return
     * @throws BizException
     */
    PageData<SafetyRectifyDTO> list(Integer deptId, Date startTime, Date endTime, Integer pageNum, Integer pageSize) throws BizException;

    /**
     * 整改通知单详情
     *
     * @param rectifyId
     * @param pageNum
     * @param pageSize
     * @return
     * @throws BizException
     */
    PageData<SafetyCheckDTO> details(Integer rectifyId, Integer pageNum, Integer pageSize) throws BizException;

    /**
     * 添加整改通知单
     *
     * @param param
     * @throws BizException
     */
    void add(SafetyRectifyAddParam param) throws BizException;

    /**
     * 修改整改通知单
     *
     * @param param
     * @throws BizException
     */
    void edit(SafetyRectifyEditParam param) throws BizException;

    /**
     * 删除整改通知单
     *
     * @param rectifyId
     * @throws BizException
     */
    void del(Integer rectifyId) throws BizException;

    /**
     * 导出
     *
     * @param rectifyId
     * @return
     * @throws BizException
     */
    void export(Integer rectifyId) throws BizException;

    void deleteBatch(List<Integer> idList);
}
